The Internet has become a popular medium for companies to advertise their products/services and promote their name. One popular trend is to provide a homepage on the World Wide Web that introduces a company and its products/services. In fact, this tends has become so popular that all types of companies, even non-technology related companies, are providing homepages.
A new industry has developed to support the needs of companies and/or individuals that either do not have the resources to host their own homepage or would simply prefer to hire another to manage their web site. This industry includes data hosting companies and web page hosting companies. These hosting companies can service a diverse collection of customers that come and go and expand and contract, often at astonishing rates. As such, the web servers physically hosting these databases/web pages must be capable to scale with the needs of the customer.
Blade servers are commonly employed to provide economic scalability. A blade is a thin, modular electronic circuit board, containing one or more microprocessors and memory that is intended for a single dedicated application, such as web page hosting. These blades can be easily inserted into a space-saving rack (called a blade server) containing many similar blades and communicatively coupled together via a common bus or other network. In fact, currently available blade servers have 280 or more individual blades mounted vertically in multiple rows within a single floor-standing cabinet.
Preparing an individual blade to perform a specific task, such as web page hosting is called “repurposing.” One technique used to repurpose a blade is to boot the blade over a network from a boot server, thereby providing the blade with its new operating system and application files. A protocol called pre-boot execution environment (“PXE”) is a wired for management capability that enables a PC to boot from a boot server over a network. Using the PXE protocols, the boot server individual repurposes each blade in a blade server.
There are several drawbacks of using a single boot server to repurpose each blade in a blade server or even multiple banks of blade servers. First, the point at which the boot server couples to the bus/network for transferring the disk images to the blades becomes a throughput bottleneck. The disk images transferred can be large files that consume considerable bandwidth to transfer in a timely manner. Second, the boot server itself is a single point of failure, with little or no fault-tolerant redundancy. If the boot server fails, the repurposing process is halted until the boot server is repaired or replaced. Finally, a boot server is not scalable. As the number of blades installed increases, the time to repurpose an entire blade server decreases. In fact, the efficiency of the boot server declines exponentially with the number of blades requiring repurposing.